/**
 *
 * Copyright 2015 RSVP Technologies Inc. All rights reserved.
 * GeoBean.java
 *
 */
package com.gfinal.map.geo;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import com.gfinal.map.place.Location;

/**
 * @author Gao Yudong (gyd@nbicc.com)
 * @date 2015-2-26
 */
public class GeoBean implements Serializable {
	private static final long serialVersionUID = -7648577515683941044L;

	private Location location = null;
	private String formatted_address = null;
	private String business = null;
	private String sematic_description = null;
	private int cityCode = 0;
	private AddressComponent addressComponent = null;
	private List<POI> pois = new ArrayList<POI>();

	public GeoBean() {
		super();
	}

	public Location getLocation() {
		return location;
	}

	public void setLocation(Location location) {
		this.location = location;
	}

	public String getFormatted_address() {
		return formatted_address;
	}

	public void setFormatted_address(String formatted_address) {
		this.formatted_address = formatted_address;
	}

	public String getBusiness() {
		return business;
	}

	public void setBusiness(String business) {
		this.business = business;
	}

	public String getSematic_description() {
		return sematic_description;
	}

	public void setSematic_description(String sematic_description) {
		this.sematic_description = sematic_description;
	}

	public int getCityCode() {
		return cityCode;
	}

	public void setCityCode(int cityCode) {
		this.cityCode = cityCode;
	}

	public AddressComponent getAddressComponent() {
		return addressComponent;
	}

	public void setAddressComponent(AddressComponent addressComponent) {
		this.addressComponent = addressComponent;
	}

	public List<POI> getPois() {
		return pois;
	}

	public void setPois(List<POI> pois) {
		this.pois = pois;
	}

	@Override
	public String toString() {
		return "GeoBean [location=" + location + ", formatted_address="
				+ formatted_address + ", business=" + business
				+ ", sematic_description=" + sematic_description
				+ ", cityCode=" + cityCode + ", addressComponent="
				+ addressComponent + ", pois=" + pois + "]";
	}

	class POI implements Serializable {
		private static final long serialVersionUID = 3356118168306157240L;

		private String addr = null;
		private String cp = null;
		private String direction = null;
		private String distance = null;
		private String name = null;
		private String poiType = null;
		private Point point = null;
		private String tel = null;
		private String uid = null;
		private String zip = null;

		public POI() {
			super();
		}

		public String getAddr() {
			return addr;
		}

		public void setAddr(String addr) {
			this.addr = addr;
		}

		public String getCp() {
			return cp;
		}

		public void setCp(String cp) {
			this.cp = cp;
		}

		public String getDirection() {
			return direction;
		}

		public void setDirection(String direction) {
			this.direction = direction;
		}

		public String getDistance() {
			return distance;
		}

		public void setDistance(String distance) {
			this.distance = distance;
		}

		public String getName() {
			return name;
		}

		public void setName(String name) {
			this.name = name;
		}

		public String getPoiType() {
			return poiType;
		}

		public void setPoiType(String poiType) {
			this.poiType = poiType;
		}

		public Point getPoint() {
			return point;
		}

		public void setPoint(Point point) {
			this.point = point;
		}

		public String getTel() {
			return tel;
		}

		public void setTel(String tel) {
			this.tel = tel;
		}

		public String getUid() {
			return uid;
		}

		public void setUid(String uid) {
			this.uid = uid;
		}

		public String getZip() {
			return zip;
		}

		public void setZip(String zip) {
			this.zip = zip;
		}

		@Override
		public String toString() {
			return "POI [addr=" + addr + ", cp=" + cp + ", direction="
					+ direction + ", distance=" + distance + ", name=" + name
					+ ", poiType=" + poiType + ", point=" + point + ", tel="
					+ tel + ", uid=" + uid + ", zip=" + zip + "]";
		}

		class Point implements Serializable {
			private static final long serialVersionUID = 622904078415335135L;

			private float x = 0;
			private float y = 0;

			public Point() {
				super();
			}

			public float getX() {
				return x;
			}

			public void setX(float x) {
				this.x = x;
			}

			public float getY() {
				return y;
			}

			public void setY(float y) {
				this.y = y;
			}

			@Override
			public String toString() {
				return "Point [x=" + x + ", y=" + y + "]";
			}

		}
	}
}
